package org.hawk.gwt.ppc.parser.impl.mock;

public class SimpleExpressionMock {
	int data;
	
	public String unary(int a, boolean b) {
		a = -a;
		a = +a;
		++a;
		--a;
		a = ~a;
		b = !b;
		return "" + a + b;
	}
	
	public int postfixTest(int aaa) {
		aaa++;
		aaa--;
		return aaa;
	}
	
	public int binaryTest(int aaa, int bbb, int ccc) {
		ccc = aaa + bbb;
		ccc = aaa - bbb;
		ccc = aaa * bbb;
		ccc = aaa / bbb;
		ccc = aaa % bbb;
		ccc = aaa >> bbb;
		ccc = aaa << bbb;
		ccc = aaa >>> bbb;
		ccc = aaa | bbb;
		ccc = aaa & bbb;
		ccc = aaa ^ bbb;
		return ccc;
	}
	
	public boolean booleanTest(boolean aaa, boolean bbb, boolean ccc) {
		ccc = aaa && bbb;
		ccc = aaa || bbb;
		
		return ccc;
	}
	

	
	public boolean comparasionTest(int aaa, int bbb, boolean ccc, Number sss) {
		ccc = aaa > bbb;
		ccc = aaa < bbb;
		ccc = aaa >= bbb;
		ccc = aaa <= bbb;
		ccc = aaa == bbb;
		ccc = aaa != bbb;
		ccc = sss instanceof Integer;
		
		return ccc;
	}
	
	public int assignmentTest(int aaa, int bbb) {
		aaa += bbb;
		aaa /= bbb;
		aaa *= bbb;
		aaa -= bbb;
		aaa %= bbb;
		aaa ^= bbb;
		aaa &= bbb;
		aaa |= bbb;
		aaa >>= bbb;
		aaa >>>= bbb;
		aaa <<= bbb;
		
		return aaa;
	}
	
	public void testDot() {
		this.data = 5;
	}
	
	public String testLiterals(String aaa) {
		aaa += 5;
		aaa += 10.0d;
		aaa += 5e-1f;
		aaa += 5l;
		aaa += '\u3214';
		aaa += "some string";
		
		return aaa;
	}
	
	public int testTernary(boolean aaa, int bbb) {
		bbb = aaa ? bbb : data;
		return bbb;
	}
}
